ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°ã®ãŠã©ãŒãã³ã°æè¡ã«é¢ããå æ¬çãªã¬ã€ããã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãæé©åããã³ãŒã«ãã¹ã¿ãŒããæå°éã«æããããã«äžå¯æ¬ ã§ãã
ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°ã®ãŠã©ãŒãã³ã°ïŒã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã«ãããã³ãŒã«ãã¹ã¿ãŒã鲿¢çã®ç¿åŸ
仿¥ã®æ¥éã«é²åããããžã¿ã«ç°å¢ã«ãããŠãã·ãŒã ã¬ã¹ã§å¿çæ§ã®é«ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããšã¯æãéèŠã§ãããµãŒããŒã¬ã¹ã¢ãŒããã¯ãã£ãç¹ã«ããã³ããšã³ãã§æŽ»çšããã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠããã³ãŒã«ãã¹ã¿ãŒãããšããåé¡ã¯ããã©ãŒãã³ã¹ãèããäœäžããããŠãŒã¶ãŒã®äžæºãæ©äŒæå€±ã«ã€ãªããå¯èœæ§ããããŸãããã®å æ¬çãªã¬ã€ãã§ã¯ãããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°ã®ãŠã©ãŒãã³ã°ã®è€éããæãäžããã³ãŒã«ãã¹ã¿ãŒãã«å¯ŸåŠããã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ãæé©ãªå¹çã§åäœããããšãä¿èšŒããããã®å®çšçãªæŠç¥ãæäŸããŸãã
ãµãŒããŒã¬ã¹ãã©ãã€ã ãšã³ãŒã«ãã¹ã¿ãŒãã®èª²é¡ãçè§£ãã
ãµãŒããŒã¬ã¹ã³ã³ãã¥ãŒãã£ã³ã°ã¯ããã°ãã°Function-as-a-Service (FaaS)ãšããŠç¹åŸŽã¥ããããéçºè ãåºç€ãšãªãã€ã³ãã©ã管çããããšãªãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã»å®è¡ã§ããããã«ãããã®ã§ããã¯ã©ãŠããããã€ããŒã¯éèŠã«å¿ããŠãªãœãŒã¹ãåçã«å²ãåœãŠã颿°ãã¹ã±ãŒã«ã¢ããã»ããŠã³ãããŸãããã®åºæã®åŒŸåæ§ã¯ãã³ã¹ããšéçšã®é¢ã§å€§ããªå©ç¹ããããããŸãã
ãããããã®ãã€ãããºã ã¯ãã³ãŒã«ãã¹ã¿ãŒãããšããŠç¥ãããçŸè±¡ãåŒãèµ·ãããŸãããµãŒããŒã¬ã¹é¢æ°ãäžå®æéåŒã³åºãããŠããªãå Žåãã¯ã©ãŠããããã€ããŒã¯ã³ã¹ããç¯çŽããããã«ãã®ãªãœãŒã¹ãè§£æŸããŸããæ¬¡ã«ãã®é¢æ°ãåŒã³åºããããšããããã€ããŒã¯å®è¡ç°å¢ãååæåãã颿°ã³ãŒããããŠã³ããŒãããã©ã³ã¿ã€ã ãèµ·åããå¿ èŠããããŸãããã®åæåããã»ã¹ã¯ã¬ã€ãã³ã·ãŒã远å ããããã¯ãšã³ããŠãŒã¶ãŒã«çŽæ¥é å»¶ãšããŠäœéšãããŸãããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã峿ã§ããããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠãæ°çŸããªç§ã®ã³ãŒã«ãã¹ã¿ãŒãã¬ã€ãã³ã·ãŒã§ãããé ããšèªèããããŠãŒã¶ãŒæºè¶³åºŠãã³ã³ããŒãžã§ã³çã«æªåœ±é¿ãäžããå¯èœæ§ããããŸãã
ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠã³ãŒã«ãã¹ã¿ãŒããéèŠãªçç±
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ (UX): ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒãšã®çŽæ¥ã®ã€ã³ã¿ãŒãã§ãŒã¹ã§ãããã©ãŒã ã®éä¿¡ãããŒã¿ã®ååŸãåçã³ã³ãã³ãã®èªã¿èŸŒã¿ãªã©ã®éèŠãªã€ã³ã¿ã©ã¯ã·ã§ã³äžã«èªèãããé å»¶ã¯ãé¢è±ã«ã€ãªããå¯èœæ§ããããŸãã
- ã³ã³ããŒãžã§ã³ç: Eã³ããŒã¹ããªãŒããžã§ãã¬ãŒã·ã§ã³ããŸãã¯ãã®ä»ã®ãŠãŒã¶ãŒäž»å°ã®ããžãã¹ã«ãããŠãé ãå¿çæéã¯ã³ã³ããŒãžã§ã³çã®äœäžã«çŽæ¥çžé¢ããŸããã³ãŒã«ãã¹ã¿ãŒãã¯ãååŒã®å®äºãšé¡§å®¢ã®åªå€±ã®åããç®ãšãªãåŸãŸãã
- ãã©ã³ãã®è©å€: äžè²«ããŠé ãããŸãã¯ä¿¡é Œæ§ã®äœãã¢ããªã±ãŒã·ã§ã³ã¯ããã©ã³ãã®è©å€ãæãªãããŠãŒã¶ãŒãå蚪ãããããåå ãšãªããŸãã
- ã°ããŒãã«ãªãŒã: ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«ãµãŒãã¹ãæäŸããã¢ããªã±ãŒã·ã§ã³ã§ã¯ããŠãŒã¶ãŒã®å°ççãªååžããããã¯ãŒã¯ã¬ã€ãã³ã·ãŒãé·ããªãå¯èœæ§ããããããã³ãŒã«ãã¹ã¿ãŒãã®åœ±é¿ãå¢å¹ ãããããšããããŸãã远å ã®ãªãŒããŒããããæå°éã«æããããšãäžå¯æ¬ ã§ãã
ãµãŒããŒã¬ã¹ã®ã³ãŒã«ãã¹ã¿ãŒãã®ä»çµã¿
ãµãŒããŒã¬ã¹é¢æ°ã广çã«ãŠã©ãŒã ã¢ããããããã«ã¯ãã³ãŒã«ãã¹ã¿ãŒãã«é¢äžããåºæ¬çãªã³ã³ããŒãã³ããçè§£ããããšãäžå¯æ¬ ã§ãïŒ
- ãããã¯ãŒã¯ã¬ã€ãã³ã·ãŒ: ã¯ã©ãŠããããã€ããŒã®ãšããžãã±ãŒã·ã§ã³ã«å°éãããŸã§ã«ãããæéã
- ã³ãŒã«ãåæå: ãã®ãã§ãŒãºã«ã¯ãã¯ã©ãŠããããã€ããŒã«ãã£ãŠå®è¡ãããããã€ãã®ã¹ããããå«ãŸããŸãïŒ
- ãªãœãŒã¹å²ãåœãŠ: æ°ããå®è¡ç°å¢ïŒäŸïŒã³ã³ããïŒã®ããããžã§ãã³ã°ã
- ã³ãŒãã®ããŠã³ããŒã: 颿°ã®ã³ãŒãããã±ãŒãžãç°å¢ã«è»¢éã
- ã©ã³ã¿ã€ã ã®ããŒãã¹ãã©ãã: èšèªã©ã³ã¿ã€ã ïŒäŸïŒNode.jsãPythonã€ã³ã¿ããªã¿ïŒã®èµ·åã
- 颿°ã®åæå: 颿°å ã®åæåã³ãŒãïŒäŸïŒããŒã¿ããŒã¹æ¥ç¶ã®ã»ããã¢ãããèšå®ã®èªã¿èŸŒã¿ïŒã®å®è¡ã
- å®è¡: æåŸã«ã颿°ã®ãã³ãã©ã³ãŒããå®è¡ãããŸãã
ã³ãŒã«ãã¹ã¿ãŒãã®æéã¯ãã¯ã©ãŠããããã€ããŒãéžæããã©ã³ã¿ã€ã ãã³ãŒãããã±ãŒãžã®ãµã€ãºãåæåããžãã¯ã®è€éãã颿°ã®å°ççãªãŒãžã§ã³ãªã©ãããã€ãã®èŠå ã«ãã£ãŠç°ãªããŸãã
ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°ã®ãŠã©ãŒãã³ã°æŠç¥
颿°ãŠã©ãŒãã³ã°ã®åºæ¬ååã¯ããµãŒããŒã¬ã¹é¢æ°ããåæåæžã¿ãã®ç¶æ ã«ä¿ã¡ãåä¿¡ãªã¯ãšã¹ãã«è¿ éã«å¿çã§ããããã«ããããšã§ããããã¯ãããŸããŸãªäºå察ççããã³äºåŸå¯Ÿççãªææ®µã«ãã£ãŠéæã§ããŸãã
1. ã¹ã±ãžã¥ãŒã«ãããããã³ã®ã³ã°ããŸãã¯ãäºååŒã³åºãã
ããã¯æãäžè¬çã§ç°¡åãªãŠã©ãŒãã³ã°æè¡ã®äžã€ã§ããã¢ã€ãã¢ã¯ããµãŒããŒã¬ã¹é¢æ°ã宿çã«ããªã¬ãŒããããããè§£æŸãããã®ãé²ãããšã§ãã
ä»çµã¿ïŒ
ã¹ã±ãžã¥ãŒã©ïŒäŸïŒAWS CloudWatch EventsãAzure Logic AppsãGoogle Cloud SchedulerïŒãèšå®ããŠãå®çŸ©æžã¿ã®é »åºŠã§ãµãŒããŒã¬ã¹é¢æ°ãåŒã³åºããŸãããã®é »åºŠã¯ãã¢ããªã±ãŒã·ã§ã³ã®äºæ³ããããã©ãã£ãã¯ãã¿ãŒã³ãšãã¯ã©ãŠããããã€ããŒã®ãµãŒããŒã¬ã¹ãã©ãããã©ãŒã ã®å žåçãªã¢ã€ãã«ã¿ã€ã ã¢ãŠãã«åºã¥ããŠæ±ºå®ããå¿ èŠããããŸãã
å®è£ ã®è©³çްïŒ
- é »åºŠ: é«ãã©ãã£ãã¯ã®APIãéèŠãªããã³ããšã³ãã³ã³ããŒãã³ãã®å Žåã5ã15åããšã«é¢æ°ãåŒã³åºãããšã§ååãããããŸãããéèŠåºŠã®äœã颿°ã®å Žåã¯ãããé·ãééãæ€èšã§ããŸããå®éšãéµãšãªããŸãã
- ãã€ããŒã: ããã³ã°ããªã¯ãšã¹ãã¯è€éãªããžãã¯ãå®è¡ããå¿ èŠã¯ãããŸãããç°¡åãªãããŒãããŒãããªã¯ãšã¹ãã§æ§ããŸããããã ãã颿°ãç¹å®ã®ãã©ã¡ãŒã¿ãå¿ èŠãšããå Žåã¯ããã³ã°ãã€ããŒãã«ããããå«ãŸããŠããããšã確èªããŠãã ããã
- ã³ã¹ã: ã³ã¹ããžã®åœ±é¿ã«æ³šæããŠãã ããããµãŒããŒã¬ã¹é¢æ°ã¯éåžžå®äŸ¡ã§ãããé »ç¹ãªåŒã³åºãã¯ãç¹ã«é¢æ°ãåæåäžã«ããªãã®ã¡ã¢ãªãCPUãæ¶è²»ããå Žåãã³ã¹ããç©ã¿éãªãå¯èœæ§ããããŸãã
- ã°ããŒãã«ãªèæ ®äºé : ãµãŒããŒã¬ã¹é¢æ°ãã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«ãµãŒãã¹ãæäŸããããã«è€æ°ã®ãªãŒãžã§ã³ã«ãããã€ãããŠããå ŽåãåãªãŒãžã§ã³ã§ã¹ã±ãžã¥ãŒã©ãèšå®ããå¿ èŠããããŸãã
äŸïŒAWS LambdaãšCloudWatch EventsïŒïŒ
CloudWatch Event Ruleãèšå®ããŠã5åããšã«Lambda颿°ãããªã¬ãŒããããšãã§ããŸããã«ãŒã«ã®ã¿ãŒã²ããã¯Lambda颿°ã«ãªããŸããLambda颿°èªäœã¯ãåŒã³åºãããããšããã°ã«èšé²ããçšåºŠã®æå°éã®ããžãã¯ãå«ãããšã«ãªããŸãã
2. APIã²ãŒããŠã§ã€çµ±åã«ãã颿°ã®ããŠã©ãŒã ãç¶æ ç¶æ
ãµãŒããŒã¬ã¹é¢æ°ãAPIã²ãŒããŠã§ã€ïŒAWS API GatewayãAzure API ManagementãGoogle Cloud API Gatewayãªã©ïŒãä»ããŠå ¬éãããŠããå ŽåãAPIã²ãŒããŠã§ã€ã¯åä¿¡ãªã¯ãšã¹ãã管çãã颿°ãããªã¬ãŒããããã³ããšããŠæ©èœã§ããŸãã
ä»çµã¿ïŒ
ã¹ã±ãžã¥ãŒã«ããããã³ã®ã³ã°ãšåæ§ã«ãAPIã²ãŒããŠã§ã€ããµãŒããŒã¬ã¹é¢æ°ã«å®æçãªãããŒãã¢ã©ã€ãããªã¯ãšã¹ããéä¿¡ããããã«èšå®ã§ããŸããããã¯å€ãã®å ŽåãAPIã²ãŒããŠã§ã€ã®ç¹å®ã®ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ãã宿çãªãžã§ããèšå®ãããããããã¯ãšã³ã颿°ãããªã¬ãŒããããšã«ãã£ãŠå®çŸãããŸãã
å®è£ ã®è©³çްïŒ
- ãšã³ããã€ã³ãã®èšèš: ãŠã©ãŒãã³ã°ç®çå°çšã®è»œéãªãšã³ããã€ã³ããAPIã²ãŒããŠã§ã€äžã«äœæããŸãããã®ãšã³ããã€ã³ãã¯ãæå°éã®ãªãŒããŒãããã§ç®çã®ãµãŒããŒã¬ã¹é¢æ°ãããªã¬ãŒããããã«èšèšããå¿ èŠããããŸãã
- ã¬ãŒãå¶é: æå³ããªãè«æ±ãã¹ããããªã³ã°ãé¿ããããããŠã©ãŒãã³ã°ãªã¯ãšã¹ããAPIã²ãŒããŠã§ã€ããµãŒããŒã¬ã¹ãã©ãããã©ãŒã ã«ãã£ãŠèª²ãããã¬ãŒãå¶éå ã«ããããšã確èªããŠãã ããã
- ã¢ãã¿ãªã³ã°: ãããã®ãŠã©ãŒãã³ã°ãªã¯ãšã¹ãã®å¿çæéãç£èŠããŠããŠã©ãŒãã³ã°æŠç¥ã®æå¹æ§ãè©äŸ¡ããŸãã
äŸïŒAWS API Gateway + LambdaïŒïŒ
CloudWatch Event Ruleã空ã®Lambda颿°ãããªã¬ãŒãããã®Lambda颿°ãAPIã²ãŒããŠã§ã€ã®ç¹å®ã®ãšã³ããã€ã³ãã«HTTP GETãªã¯ãšã¹ããéä¿¡ããŸãããã®APIã²ãŒããŠã§ã€ã®ãšã³ããã€ã³ãã¯ããã©ã€ããªããã¯ãšã³ãã®Lambda颿°ãšçµ±åããããã«èšå®ãããŠããŸãã
3. ãµãŒãããŒãã£ã®ãŠã©ãŒãã³ã°ãµãŒãã¹ã®æŽ»çš
ãµãŒããŒã¬ã¹é¢æ°ã®ãŠã©ãŒãã³ã°ã«ç¹åãããµãŒãããŒãã£ãµãŒãã¹ãããã€ããããåºæ¬çãªã¯ã©ãŠããããã€ããŒã®ããŒã«ãããæŽç·Žãããã¹ã±ãžã¥ãŒãªã³ã°ããã³ã¢ãã¿ãªã³ã°æ©èœãæäŸããŠããŸãã
ä»çµã¿ïŒ
ãããã®ãµãŒãã¹ã¯éåžžãã¯ã©ãŠããããã€ããŒã®ã¢ã«ãŠã³ãã«æ¥ç¶ããæå®ãããééã§é¢æ°ãåŒã³åºãããã«èšå®ãããŸããå€ãã®å ŽåããŠã©ãŒãã³ã°ã®ç¶æ ãç£èŠããåé¡ã®ãã颿°ãç¹å®ãããŠã©ãŒãã³ã°æŠç¥ãæé©åããããã®ããã·ã¥ããŒããæäŸããŸãã
人æ°ã®ãµãŒãã¹ïŒ
- IOpipe: ãµãŒããŒã¬ã¹é¢æ°ã®ã¢ãã¿ãªã³ã°ãšãŠã©ãŒãã³ã°æ©èœãæäŸããŸãã
- Thundra: å¯èŠ³æž¬æ§ãæäŸãããŠã©ãŒãã³ã°æŠç¥ã®å®è£ ã«äœ¿çšã§ããŸãã
- Dashbird: ãµãŒããŒã¬ã¹ã®å¯èŠ³æž¬æ§ã«çŠç¹ãåœãŠãŠãããã³ãŒã«ãã¹ã¿ãŒãã®åé¡ãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
å©ç¹ïŒ
- ã»ããã¢ãããšç®¡çã®ç°¡çŽ åã
- é«åºŠãªã¢ãã¿ãªã³ã°ãšã¢ã©ãŒãæ©èœã
- å€ãã®å Žåãç°ãªãã¯ã©ãŠããããã€ããŒã«æé©åãããŠããŸãã
èæ ®äºé ïŒ
- ã³ã¹ã: ãããã®ãµãŒãã¹ã«ã¯éåžžããµãã¹ã¯ãªãã·ã§ã³æéãããããŸãã
- ã»ãã¥ãªãã£: ã¯ã©ãŠãç°å¢ãžã®ãµãŒãããŒãã£ã¢ã¯ã»ã¹ãèš±å¯ããããšã®ã»ãã¥ãªãã£äžã®åœ±é¿ãçè§£ããŠããããšã確èªããŠãã ããã
4. 颿°ã³ãŒããšäŸåé¢ä¿ã®æé©å
ãŠã©ãŒãã³ã°æè¡ã¯ç°å¢ãããŠã©ãŒã ãã«ä¿ã¡ãŸããã颿°ã®ã³ãŒããšãã®äŸåé¢ä¿ãæé©åããããšã§ãé¿ããããªãã³ãŒã«ãã¹ã¿ãŒãã®æéãšçºçé »åºŠãå€§å¹ ã«åæžã§ããŸãã
äž»ãªæé©åé åïŒ
- ã³ãŒãããã±ãŒãžãµã€ãºã®æå°å: 倧ããªã³ãŒãããã±ãŒãžã¯åæåäžã®ããŠã³ããŒãã«æéãããããŸããäžèŠãªäŸåé¢ä¿ããããã³ãŒããåé€ãããã«ãããã»ã¹ãæé©åããŠãã ãããWebpackãParcelãªã©ã®ããŒã«ã¯ãæªäœ¿çšã®ã³ãŒããããªãŒã·ã§ã€ã¯ããã®ã«åœ¹ç«ã¡ãŸãã
- å¹ççãªåæåããžãã¯: ã¡ã€ã³ãã³ãã©é¢æ°ã®å€ã§å®è¡ãããã³ãŒãïŒåæåã³ãŒãïŒãå¯èœãªéãå¹ççã§ããããšã確èªããŠãã ããããã®ãã§ãŒãºã§ã®éãèšç®ãé«äŸ¡ãªI/Oæäœã¯é¿ããŠãã ãããå¯èœãªå Žåã¯ããŒã¿ããªãœãŒã¹ããã£ãã·ã¥ããŠãã ããã
- é©åãªã©ã³ã¿ã€ã ã®éžæ: äžéšã®ã©ã³ã¿ã€ã ã¯ä»ã®ãã®ãããæ¬è³ªçã«ããŒãã¹ãã©ãããéãã§ããäŸãã°ãGoãRustã®ãããªã³ã³ãã€ã«èšèªã¯ãPythonãNode.jsã®ãããªã€ã³ã¿ããªã¿èšèªãããäžéšã®ã·ããªãªã§ã³ãŒã«ãã¹ã¿ãŒããéãå ŽåããããŸãããããã¯ç¹å®ã®å®è£ ãã¯ã©ãŠããããã€ããŒã®æé©åã«äŸåããŸãã
- ã¡ã¢ãªå²ãåœãŠ: ãµãŒããŒã¬ã¹é¢æ°ã«ããå€ãã®ã¡ã¢ãªãå²ãåœãŠããšãå€ãã®å Žåãããå€ãã®CPUãã¯ãŒãæäŸãããåæåããã»ã¹ãé«éåã§ããŸããããã©ãŒãã³ã¹ãšã³ã¹ãã®æé©ãªãã©ã³ã¹ãèŠã€ããããã«ãããŸããŸãªã¡ã¢ãªèšå®ã詊ããŠãã ããã
- ã³ã³ããã€ã¡ãŒãžãµã€ãºïŒè©²åœããå ŽåïŒïŒ ãµãŒããŒã¬ã¹é¢æ°ã«ã³ã³ããã€ã¡ãŒãžã䜿çšããŠããå ŽåïŒäŸïŒAWS Lambdaã³ã³ããã€ã¡ãŒãžïŒãDockerã€ã¡ãŒãžã®ãµã€ãºãæé©åããŠãã ããã
äŸïŒ
Lodashã®ãããªã©ã€ãã©ãªå
šäœãã€ã³ããŒããã代ããã«ãå¿
èŠãªç¹å®ã®é¢æ°ã®ã¿ãã€ã³ããŒãããŸãïŒäŸïŒimport debounce from 'lodash/debounce'ïŒãããã«ãããã³ãŒãããã±ãŒãžã®ãµã€ãºãåæžãããŸãã
5. ãããããžã§ãã³ã°ãããåæå®è¡ãã®å©çšïŒã¯ã©ãŠããããã€ããŒåºæïŒ
äžéšã®ã¯ã©ãŠããããã€ããŒã¯ãäºåã«å®çŸ©ãããæ°ã®é¢æ°ã€ã³ã¹ã¿ã³ã¹ããŠã©ãŒã ç¶æ ã«ä¿ã¡ããªã¯ãšã¹ãã«å¯Ÿå¿ã§ããããã«ããããšã§ãã³ãŒã«ãã¹ã¿ãŒããå®å šã«æé€ããããã«èšèšãããæ©èœãæäŸããŠããŸãã
AWS Lambda Provisioned ConcurrencyïŒ
AWS Lambdaã§ã¯ãç¹å®ã®æ°ã®é¢æ°ã€ã³ã¹ã¿ã³ã¹ãåæåããŠãŠã©ãŒã ç¶æ ã«ä¿ã€ããã«èšå®ã§ããŸããããããžã§ãã³ã°ãããåæå®è¡æ°ãè¶ ãããªã¯ãšã¹ãã¯ãåŒãç¶ãã³ãŒã«ãã¹ã¿ãŒããçµéšããŸããããã¯ãã¬ã€ãã³ã·ãŒã蚱容ãããªãéèŠãªé«ãã©ãã£ãã¯é¢æ°ã«ãšã£ãŠåªãããªãã·ã§ã³ã§ãã
Azure Functions Premium PlanïŒ
Azureã®Premiumãã©ã³ã¯ããäºåãŠã©ãŒã ã€ã³ã¹ã¿ã³ã¹ããæäŸãããããã¯å®è¡ç¶æ ã«ä¿ãããã€ãã³ãã«å¿çããæºåãã§ããŠãããããæå®ãããæ°ã®ã€ã³ã¹ã¿ã³ã¹ã®ã³ãŒã«ãã¹ã¿ãŒãã广çã«æé€ããŸãã
Google Cloud FunctionsïŒæå°ã€ã³ã¹ã¿ã³ã¹ïŒïŒ
Google Cloud Functionsã¯ããæå°ã€ã³ã¹ã¿ã³ã¹ãèšå®ãæäŸããç¹å®ã®æ°ã®ã€ã³ã¹ã¿ã³ã¹ãåžžã«å®è¡äžã§æºåãã§ããŠããããšãä¿èšŒããŸãã
å©ç¹ïŒ
- ä¿èšŒãããäœã¬ã€ãã³ã·ãŒã
- ããããžã§ãã³ã°ãããã€ã³ã¹ã¿ã³ã¹ã®ã³ãŒã«ãã¹ã¿ãŒããæé€ã
æ¬ ç¹ïŒ
- ã³ã¹ã: ãã®æ©èœã¯ããªã³ããã³ãåŒã³åºããããå€§å¹ ã«é«äŸ¡ã§ãããªããªããã¢ã¯ãã£ãã«ãªã¯ãšã¹ããåŠçããŠããªããšãã§ãããããžã§ãã³ã°ããã容éã«å¯ŸããŠæéãæ¯æãããã§ãã
- 管ç: ã³ã¹ããšããã©ãŒãã³ã¹ã®ãã©ã³ã¹ãåãããã«ãããããžã§ãã³ã°ãããã€ã³ã¹ã¿ã³ã¹ã®æé©ãªæ°ã決å®ããããã®æ éãªèšç»ãå¿ èŠã§ãã
䜿çšããå Žé¢ïŒ
ããããžã§ãã³ã°ãããåæå®è¡ã¯ãã¬ã€ãã³ã·ãŒã«ææãªã¢ããªã±ãŒã·ã§ã³ãããã·ã§ã³ã¯ãªãã£ã«ã«ãªãµãŒãã¹ããŸãã¯äžè²«ããŠé«ããã©ãã£ãã¯ããããäžåã®é å»¶ã蚱容ã§ããªãããã³ããšã³ãã®éšåã«æé©ã§ãã
6. ãšããžã³ã³ãã¥ãŒãã£ã³ã°ãšãµãŒããŒã¬ã¹
ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®å Žåããšããžã³ã³ãã¥ãŒãã£ã³ã°ã掻çšããããšã§ããµãŒããŒã¬ã¹é¢æ°ããšã³ããŠãŒã¶ãŒã®è¿ãã§å®è¡ããããšã«ãããã¬ã€ãã³ã·ãŒãåçã«åæžã§ããŸãã
ä»çµã¿ïŒ
AWS Lambda@EdgeãCloudflare WorkersãAzure Arcã§å®è¡ãããAzure Functionsãªã©ã®ãã©ãããã©ãŒã ã¯ãCDNãšããžãã±ãŒã·ã§ã³ã§ãµãŒããŒã¬ã¹é¢æ°ãå®è¡ã§ããŸããããã¯ã颿°ã³ãŒããäžçäžã®å€æ°ã®POPïŒPoint of PresenceïŒã«ãããã€ãããããšãæå³ããŸãã
ãŠã©ãŒãã³ã°ãžã®å©ç¹ïŒ
- ãããã¯ãŒã¯ã¬ã€ãã³ã·ãŒã®åæž: ãªã¯ãšã¹ãã¯æå¯ãã®ãšããžãã±ãŒã·ã§ã³ã§åŠçããããããéä¿¡æéãå€§å¹ ã«ççž®ãããŸãã
- ããŒã«ã©ã€ãºããããŠã©ãŒãã³ã°: ãŠã©ãŒãã³ã°æŠç¥ã¯åãšããžãã±ãŒã·ã§ã³ã§ããŒã«ã«ã«é©çšã§ãããã®ç¹å®ã®å°åã®ãŠãŒã¶ãŒã«ãµãŒãã¹ãæäŸããæºåãã§ããŠããããšãä¿èšŒããŸãã
èæ ®äºé ïŒ
- 颿°ã®è€éã: ãšããžãã±ãŒã·ã§ã³ã§ã¯ããªãŒãžã§ã³å ã®ã¯ã©ãŠãããŒã¿ã»ã³ã¿ãŒãšæ¯èŒããŠãå®è¡æéãã¡ã¢ãªãå©çšå¯èœãªã©ã³ã¿ã€ã ã«å³ããå¶éãããããšããããããŸãã
- ãããã€ã®è€éã: 倿°ã®ãšããžãã±ãŒã·ã§ã³ã«ããããããã€ã®ç®¡çã¯ãããè€éã«ãªãå¯èœæ§ããããŸãã
äŸïŒ
Lambda@Edgeã䜿çšããŠããšããžã§ããŒãœãã©ã€ãºãããã³ã³ãã³ããæäŸããããA/Bãã¹ãã宿œãããããŸãããŠã©ãŒãã³ã°æŠç¥ã«ã¯ãããŸããŸãªãšããžãã±ãŒã·ã§ã³ã§å®æçã«åŒã³åºãããããã«Lambda@Edge颿°ãèšå®ããããšãå«ãŸããŸãã
ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã«é©ãããŠã©ãŒãã³ã°æŠç¥ã®éžæ
ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠæé©ãªãµãŒããŒã¬ã¹é¢æ°ãŠã©ãŒãã³ã°ã®ã¢ãããŒãã¯ãããã€ãã®èŠå ã«äŸåããŸãïŒ
- ãã©ãã£ãã¯ãã¿ãŒã³: ãã©ãã£ãã¯ã¯æ¥å¢ããŸããããããšãäžè²«ããŠããŸããïŒäºæž¬å¯èœãªããŒã¯ã¿ã€ã ã¯ãããŸããïŒ
- ã¬ã€ãã³ã·ãŒãžã®æåºŠ: ã¢ããªã±ãŒã·ã§ã³ã®ã³ã¢æ©èœã«ãšã£ãŠã峿ã®å¿çã¯ã©ãã»ã©éèŠã§ããïŒ
- äºç®: ããããžã§ãã³ã°ãããåæå®è¡ãªã©ãäžéšã®ãŠã©ãŒãã³ã°æŠç¥ã¯é«äŸ¡ã«ãªãå¯èœæ§ããããŸãã
- æè¡çå°éç¥è: å®è£ ãšç¶ç¶çãªç®¡çã®è€éãã
- ã¯ã©ãŠããããã€ããŒ: éžæããã¯ã©ãŠããããã€ããŒã®ç¹å®ã®æ©èœãšå¶éã
ãã€ããªããã¢ãããŒããæåã§ããããšãå€ã
å€ãã®ã°ããŒãã«ãªããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã§ã¯ãæŠç¥ãçµã¿åãããããšã§æè¯ã®çµæãåŸãããŸãïŒ
- åºæ¬çãªãŠã©ãŒãã³ã°: éèŠåºŠã®äœã颿°ããã³ãŒã«ãã¹ã¿ãŒãã®é »åºŠãæžããããã®ããŒã¹ã©ã€ã³ãšããŠãã¹ã±ãžã¥ãŒã«ããããã³ã®ã³ã°ã䜿çšããŸãã
- ã³ãŒãã®æé©å: åæåæéãšããã±ãŒãžãµã€ãºãåæžããããã«ãã³ãŒããšäŸåé¢ä¿ã®æé©åãåžžã«åªå ããŸããããã¯åºæ¬çãªãã¹ããã©ã¯ãã£ã¹ã§ãã
- ããããžã§ãã³ã°ãããåæå®è¡: ã³ãŒã«ãã¹ã¿ãŒãã®é å»¶ãäžå蚱容ã§ããªããæãéèŠã§ã¬ã€ãã³ã·ãŒã«ææãªé¢æ°ã«æ éã«é©çšããŸãã
- ãšããžã³ã³ãã¥ãŒãã£ã³ã°: çã®ã°ããŒãã«ãªãªãŒããšããã©ãŒãã³ã¹ã®ããã«ã該åœããå Žåã«ã¯ãšããžãµãŒããŒã¬ã¹ãœãªã¥ãŒã·ã§ã³ãæ€èšããŸãã
ã¢ãã¿ãªã³ã°ãšå埩
ãµãŒããŒã¬ã¹é¢æ°ã®ãŠã©ãŒãã³ã°ã¯ããäžåºŠèšå®ããã°çµãããã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸãããæé©ãªããã©ãŒãã³ã¹ãç¶æããããã«ã¯ãç¶ç¶çãªã¢ãã¿ãªã³ã°ãšå埩ãäžå¯æ¬ ã§ãã
ç£èŠãã¹ãäž»èŠãªã¡ããªã¯ã¹ïŒ
- åŒã³åºãæé: 颿°ã®ç·å®è¡æéã远跡ããã³ãŒã«ãã¹ã¿ãŒãã瀺ãå€ãå€ã«ç¹ã«æ³šæãæããŸãã
- åæåæé: å€ãã®ãµãŒããŒã¬ã¹ãã©ãããã©ãŒã ã¯ã颿°ã®åæåãã§ãŒãºã«ç¹åããã¡ããªã¯ã¹ãæäŸããŸãã
- ãšã©ãŒç: ãŠã©ãŒãã³ã°è©Šè¡äžãŸãã¯éåžžã®åŒã³åºãäžã«çºçããå¯èœæ§ã®ãããšã©ãŒãç£èŠããŸãã
- ã³ã¹ã: ãŠã©ãŒãã³ã°æŠç¥ãè²»çšå¯Ÿå¹æãé«ãããšã確èªããããã«ãã¯ã©ãŠããããã€ããŒã®è«æ±ã«æ³šæãæããŸãã
ã¢ãã¿ãªã³ã°ã®ããã®ããŒã«ïŒ
- ã¯ã©ãŠããããã€ããŒã®ãã€ãã£ãã¢ãã¿ãªã³ã°ããŒã«: AWS CloudWatchãAzure MonitorãGoogle Cloud Operations Suiteã
- ãµãŒãããŒãã£ã®å¯èŠ³æž¬æ§ãã©ãããã©ãŒã : DatadogãNew RelicãLumigoãThundraãDashbirdã
å埩çãªæ¹åïŒ
ã¢ãã¿ãªã³ã°ããŒã¿ã宿çã«ã¬ãã¥ãŒããŠãã ãããäŸç¶ãšããŠé倧ãªã³ãŒã«ãã¹ã¿ãŒãã®åé¡ãçºçããŠããå Žåã¯ã以äžãæ€èšããŠãã ããïŒ
- ã¹ã±ãžã¥ãŒã«ããããã³ã°ã®é »åºŠã調æŽããã
- 颿°ã®ã¡ã¢ãªå²ãåœãŠãå¢ããã
- ã³ãŒããšäŸåé¢ä¿ãããã«æé©åããã
- ç¹å®ã®é¢æ°ã§ã®ããããžã§ãã³ã°ãããåæå®è¡ã®å¿ èŠæ§ãåè©äŸ¡ããã
- ç°ãªãã©ã³ã¿ã€ã ããããã€æŠç¥ãæ€èšããã
ãµãŒããŒã¬ã¹ãŠã©ãŒãã³ã°ã®ã°ããŒãã«ãªèæ ®äºé
ã°ããŒãã«ãªãµãŒããŒã¬ã¹ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããã³æé©åããéã«ã¯ãäžçäžã®ãªãŒãã£ãšã³ã¹ã«ç¹æã®ããã€ãã®èŠå ãèæ ®ããå¿ èŠããããŸãïŒ
- ãªãŒãžã§ã³å¥ãããã€ã¡ã³ã: ãŠãŒã¶ãŒããŒã¹ã«åãããè€æ°ã®AWSãªãŒãžã§ã³ãAzureãªãŒãžã§ã³ããŸãã¯Google CloudãªãŒãžã§ã³ã«ãµãŒããŒã¬ã¹é¢æ°ããããã€ããŸããåãªãŒãžã§ã³ã«ã¯ç¬èªã®ãŠã©ãŒãã³ã°æŠç¥ãå¿ èŠã§ãã
- ã¿ã€ã ãŸãŒã³ã®éã: ã¹ã±ãžã¥ãŒã«ããããŠã©ãŒãã³ã°ãžã§ããããããã€ããããªãŒãžã§ã³ã®ã¿ã€ã ãŸãŒã³ã«é©åã«èšå®ãããŠããããšã確èªããŠãã ãããåäžã®ã°ããŒãã«ã¹ã±ãžã¥ãŒã«ã¯æé©ã§ã¯ãªããããããŸããã
- ã¯ã©ãŠããããã€ããŒãžã®ãããã¯ãŒã¯ã¬ã€ãã³ã·ãŒ: ãšããžã³ã³ãã¥ãŒãã£ã³ã°ã¯åœ¹ç«ã¡ãŸããããµãŒããŒã¬ã¹é¢æ°ã®ãã¹ãã£ã³ã°ãªãŒãžã§ã³ãŸã§ã®ç©ççãªè·é¢ã¯äŸç¶ãšããŠéèŠã§ãããŠã©ãŒãã³ã°ã¯*åæå*ã®ã¬ã€ãã³ã·ãŒãç·©åããã®ã«åœ¹ç«ã¡ãŸããã颿°ã®ãšã³ããã€ã³ããžã®ãããã¯ãŒã¯ã®ã©ãŠã³ãããªããã¿ã€ã ã¯èŠå ãšããŠæ®ããŸãã
- ã³ã¹ãã®å€å: ãµãŒããŒã¬ã¹é¢æ°ããã³é¢é£ãµãŒãã¹ïŒAPIã²ãŒããŠã§ã€ãªã©ïŒã®äŸ¡æ Œã¯ãã¯ã©ãŠããããã€ããŒã®ãªãŒãžã§ã³ã«ãã£ãŠå€§ããç°ãªãå ŽåããããŸããããããŠã©ãŒãã³ã°æŠç¥ã®ã³ã¹ãåæã«å«ããŠãã ããã
- ã³ã³ãã©ã€ã¢ã³ã¹ãšããŒã¿äž»æš©: ããŸããŸãªåœã«ãããããŒã¿ã¬ãžãã³ã·ãŒèŠä»¶ãã³ã³ãã©ã€ã¢ã³ã¹èŠå¶ã«æ³šæããŠãã ãããããã¯ã颿°ãã©ãã«ãããã€ããããã²ããŠã¯ã©ãã§ãŠã©ãŒãã³ã°ãå®è£ ããå¿ èŠããããã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
çµè«
ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°ã®ãŠã©ãŒãã³ã°ã¯åãªãæé©åã§ã¯ãªãããµãŒããŒã¬ã¹ãã¡ãŒã¹ãã®äžçã§ããã©ãŒãã³ã¹ãé«ãä¿¡é Œæ§ã®ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããã®éèŠãªåŽé¢ã§ããã³ãŒã«ãã¹ã¿ãŒãã®ä»çµã¿ãçè§£ãããŠã©ãŒãã³ã°æè¡ãæŠç¥çã«å®è£ ããããšã§ãéçºè ã¯ã¬ã€ãã³ã·ãŒãå€§å¹ ã«åæžãããŠãŒã¶ãŒæºè¶³åºŠãåäžãããã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ææãåäžãããããšãã§ããŸããã¹ã±ãžã¥ãŒã«ãããåŒã³åºããããããžã§ãã³ã°ãããåæå®è¡ãã³ãŒãã®æé©åããŸãã¯ãšããžã³ã³ãã¥ãŒãã£ã³ã°ãéããŠããµãŒããŒã¬ã¹é¢æ°ãããŠã©ãŒã ãã«ä¿ã€ããã®ç©æ¥µçãªã¢ãããŒãã¯ãã°ããŒãã«ãªããžã¿ã«ã¢ãªãŒãã§ç«¶äºåãç¶æããããã«äžå¯æ¬ ã§ãã
ãããã®æŠç¥ãåãå ¥ããããã©ãŒãã³ã¹ãç±å¿ã«ç£èŠããç¶ç¶çã«å埩ããŠãããã³ããšã³ããµãŒããŒã¬ã¹ã¢ããªã±ãŒã·ã§ã³ãäžçäžã®ãŠãŒã¶ãŒã«ãšã£ãŠé«éã§å¿çæ§ãé«ããæ¥œãããã®ã§ããç¶ããããšãä¿èšŒããŠãã ããã